МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
EMBED Word.Picture.8
ПРОГРАМИ З РОЗГАЛУЖЕНИМИ ТА ЦИКЛІЧНИМИ
АЛГОРИТМАМИ
ІНСТРУКЦІЯ ДО ЛАБОРАТОРНОЇ РОБОТИ № 6
З КУРСУ “АЛГОРИТМІЧНІ МОВИ І ПРОГРАМУВАННЯ”
для студентів базових напрямків 6.170101, 6.170102, 6.170103
Львів – 2010
Програми з розгалуженими та циклічними алгоритмами: інструкція до лабораторної роботи №6 з курсу “Алгоритмічні мови і програмування” для студентів базових напрямків 6.170101, 6.170102, 6.170103.
.
/ Укл.: В.І. Отенко, Б.Д. Будз, О.І. Гарасимчук - Львів: НУЛП, 2009.- с.
Укладачі: В.І. Отенко, к.т.н., доцент,
О.І. Гарасимчук, к.т.н., доцент,
Б.Д. Будз, асистент.
Мета роботи - вивчити інструкції мови C#. Навчитися складати та відлагоджувати розрахункові програми з розгалуженими та циклічними структурами.
1. ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ
1.1. Інструкція if
Повний формат запису інструкції if має наступний вигляд:
іf (умова) інструкція;
else інструкція?
Тут під елементом інструкція розуміється одна інструкція мови С#. Частина еlsе є необов'язковою. Замість елемента інструкція може бути використаний блок інструкцій. В цьому випадку формат запису if-інструкції приймає такий вигляд:
if (умова)
послідовність інструкцій
else
послідовність інструкцій
Якщо елемент умова, який представляє собою умовний вираз, при обчисленні дасть значення ІСТИНА, буде виконана if-інструкція; в протилежному випадку — else-інструкція (якщо така існує). Обидві інструкції ніколи не виконуються. Умовний вираз, який керує виконанням if-інструкції повинне мати тип bool.
1.2. Вкладені if-інструкції
Вкладені if-інструкції утворюються в тому випадку, якщо як елемент інструкція використовується інша if-інструкція. Вкладені if-інструкції дуже популярні в програмуванні. Головне тут — пам'ятати, що else-інструкція завжди відноситься до найближчої if-інструкції, яка знаходиться всередині того ж програмного блоку, але ще не зв'язана з будь-якою іншою else-інструкцією. Наприклад:
if (i == 10)
{
if (j < 20) а = b;
if (k > 100) с = d;
else а = с; // Ця else-інструкція
// відноситься до if(k > 100).
}
else а = d; // Ця else-інструкція відноситься до if (i == 10).
Як затверджується в коментарях, остання else-інструкція не пов'язана з інструкцією if (j < 20), оскільки вони не знаходяться в одному блоці (не дивлячись на те що ця if-інструкція — найближча, яка не має при собі "else-пари"). Внутрішня else-інструкція пов'язана з інструкцією if (k > 100), оскільки вона — найближча і знаходиться всередині того ж блоку.
1.3. Конструкція if - еlsе - if
Дуже поширеною в програмуванні конструкцією, в основі якої лежить вкладена if-інструкція, є конструкція наступного вигляду: if-else-if. Її можна представити в наступному вигляді:
if {умова)
інструкція;
else if{ умова)
інструкція;
else if{ умова)
інструкція;
else
інструкція;
Тут під елементом умова розуміється умовний вираз. Умовні вирази обчислюються зверху вниз. Як тільки в якій-небудь гілці виявиться істинний результат, буде виконана інструкція, пов'язана з цією гілкою, а вся решта частина конструкції опускається. Якщо виявилося, що жодна з умов не є істинною, буде виконана остання else-інструкція (можна вважати, що вона виконує роль умови, яка діє за умовчанням). Якщо остання else-інструкція не задана, а всі решта виявилися помилковими, то взагалі ніяка дія не буде виконана.
1.4. Інструкція switсh
Другою інструкцією вибору є switch. Інструкція switch забезпечує багатонаправлене розгалуження. Вона дозволяє проводити перевірку для багатьох значень змінної за один прохід замість того щоб перевіряти лише одну умову як у випадку з оператором if. Хоча багатонаправлене тестування можна реалізувати за допомогою послідовності вкладених if-інструкцій, для багатьох ситуацій інструкція switch виявляється більш ефективним розв’язком поставленої задачі. Вона працює наступним чином. Значення виразу послідовно порівнюється з к...